#ifndef _EVENTHANDLER_H_
#define _EVENTHANDLER_H_

#include <SECore/Event.h>

namespace SEngine
{
    class EnableEventHandle;
    class EventHandler
    {
        friend class EnableEventHandle;
    public:
        EventHandler(EnableEventHandle & enHandle) : m_enHandle(enHandle) {}
        virtual ~EventHandler() = default;
    protected:
        virtual void OnEvent(EventPtr) = 0;
        virtual void OnUpdate(int delta) = 0;
    protected:
        EnableEventHandle & m_enHandle;
    };
} // namespace SEngine


#endif